
#顺序表类
class SeqList:
    #★初始化顺序表
    def __init__(self,maxsize=100):
        #线性表长度
        self.length = 0;
        #构建线性表空间
        self.sql = maxsize*[0]
    #★构建线性表元素
    def create(self):
        num = eval(input("您要输入多少个顺序表元素："))
        for i in range(num):
            data = input("第{}个元素:".format(i+1))
            seq.sql[i] = data
            seq.length += 1
    #★插入元素
    def insert(self):
        posnum,data = list(map(int,input("请输入您要插入的位置及数据：").split()))
        #判断输入的位置数是否有效
        if posnum>self.length or posnum <= 0:
            return
        #从插入位置数至线性表尾元素全部后移
        else:
            for i in range(self.length,posnum-1,-1):
                self.sql[i] = self.sql[i-1]
            self.sql[posnum-1] = data
            self.length += 1
    #★删除元素
    def delete(self):
        posnum = eval(input("请输入您要删除的位置："))
        #判断输入的位置数是否有效
        if posnum>self.length or posnum <= 0:
            return
        #从删除位置数至线性表尾元素全部前移
        else:
            for i in range(posnum,self.length):
                self.sql[i-1] = self.sql[i]
            self.length -= 1
    #★遍历顺序表
    def outline(self):
        print("========线性表元素(已更新)========")
        for i in range(self.length):
            print(self.sql[i])
    
if __name__ == "__main__":
    seq = SeqList()
    while 1:
        print("""
              1-创建顺序表      2-插入元素
              3-删除元素        4-退出程序
          """)
        command = eval(input("请输入您的指令："))
        #创建线性表
        if(command==1):        
            seq.create()
            seq.outline()
        #增加元素
        elif(command==2):
             seq.insert()
             seq.outline()
        #删除元素
        elif(command==3):
            seq.delete()
            seq.outline()
        else:
            break
    
    
    